package com.tm;

/**
 * 2024/5/2
 *
 */
public class Demo24 {
    public static void main(String[] args) {
        //目标:认识多个变量指向同一个数组对象的形式，并掌握其注意事项
        int[] arr1={11,22,33};

        //把int类型的数组变量arr1赋值给int类型的数组变量arr2
        int[] arr2=arr1;

        System.out.println(arr1);
        System.out.println(arr2);

        arr2[1]=99;
        System.out.println(arr1[1]);


        /**
         * 1.多个数组变量，指向同一个数组对象的原因是什么？需要注意什么?
         * 多个数组变量中存储的是同一个数组对象的地址
         * 多个变量修改的都是同一个数组对象中的数据
         *
         * 2.如果某个数组变量中存储的null,代表什么意思？需要注意什么？
         * 代表这个数组变量没有指向数组对象
         *可以输出这个变量，但是不能用这个数组变量去访问数据或者访问数组长度
         *会报空指针异常：NullPointerException
         */

        /**
         * 1.运行一个Java程序，主要看JVM中包含的哪几个部分内存区域?
         * 方法区 程序编译后的class
         * 栈内存 方法里面的内容
         * 堆内存 new出来的数据对象
         *
         * 2.简单说说 int a=20;int[] arr=new int[3]这两行代码的执行原理?
         *  a是变量 a的值是20
         *  new  int[3]是数组对象,会在堆内存中开辟区域存储3个整数
         */

        /**
         * 1.基本数据类型：存储的是具体值
         * 2.引用数据类型： 存储的对象地址
         */

    }
}
